package com.arsn.myf.system.service;

import com.arsn.myf.common.node.MenuTreeNode;
import com.arsn.myf.common.node.TreeNode;
import com.arsn.myf.system.entity.Menu;
import com.arsn.myf.system.vo.MenuVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 菜单接口层
 * @author zhongrj
 * @since 2022-07-10
 */
public interface MenuService extends IService<Menu> {

    /**
     * 自定义菜单分页数据
     * @param
     * @param menu
     * @return
     */
    List<MenuVO> selectPageMenuList(MenuVO menu);

    /**
     * 登录完成获取菜单列表
     * @param menu 菜单实体
     * @return
     */
    List<MenuTreeNode> getMenu(MenuVO menu);

    /**
     * 获取菜单树
     * @param menu 菜单查询参数对象
     * @return
     */
    List<TreeNode> getMenuTree(MenuVO menu);

    /**
     * 根据角色id 查询当前角色拥有的菜单集合id
     * @param roleId 角色id
     * @return
     */
    List<String> getMenuListByRoleId(String roleId);
}
